Charakterisierung der Wählerschaft in Berlin mit Fokus auf die Wahllokale im Bezirk Pankow
Clusteranalyse der Bundestagswahl 2017
1. Einführung
Die Vorbereitung für das Superwahljahr 2021 in Berlin, in dem sowohl die Wahl zum BVV, Berliner Abgeordnetenhaus und Bundestag stattfinden, hat bereits begonnen. Eine zielgerechte Ansprache der potentiellen Wähler ist ein wichtiger Aspekt einer erfolgreichen Wahlkampagnie und setzt voraus gute Kenntnisse der demographischen Struktur sowie der politischen Präferenzen der Bürger im Wahlgebiet. Die folgende Analyse soll Einblicke in die Pankower Wählerschaft im Hinblick auf die Interessen der Freien Demokraten in Pankow geben. Ziel ist es, Gruppen von Wahllokalen zu finden, die möglichst homogene Wahlergebnisse aufweisen und zwischen den unterschiedlichen Gruppen möglichst heterogen bleiben. Es wird die Clusteranalyse angerwendet, um die Gebiete bzw. Wahllokale im Bezirk Pankow mit ähnlichen Wählerpräferenzen zu identifizieren und auf einer interaktiven Karte zu präsentieren.
In der folgenden Clusteranalyse werden ausschließlich die Wahlergebnisse der Zweitstimmen der Bundestagswahl 2017 zusammengeführt. Einbezogen sind die Stimmen aus den einzelnen Wahllokallen für die sechs Bundestagsparteien (>5% auf Bundesebene) und der restlichen Parteien, zusammen addiert als “Sonstige”. Die Stimmen der Briefwahl sind ausgeschlossen, da sie aufgrund eigener räumlichen Zuteilng, den einzelnen Wahllokallen nicht direkt zugeordnet werden können.
Die Anwendungen der Clusteranalyse reichen von Marketing, Telekomunikation bis zu wissenschaftlichen Disziplinen wie Medizin, Soziologie, Psychologie usw. Bei den Untersuchungsobjekten kann es sich um Individuuen, Gegenstände, Länder oder andere Verwaltungseinheiten handeln. Das Verfahren hilft z.B. bei der Analyse der Kunden und als Ergebnis liefert homogene Kundengruppen (Kundensegmentierung), um durch Personalisierung ein effektiveres Kundenservice zu erreichen. Die feingranularen Daten auf der Ebene der einzelnen Wahllokale, der kleinsten Wahlregioneinheit, ermöglichen möglichst präzise Bestimmung der Wählerpräferenzen in den Ortsgebieten in Pankow. Diese Informationen können sowohl dem Bezirksverband Pankow als auch den Ortsverbänden (Prenzlauer Berg, Stadt Land Panke, Weißensee) nutzliche Erkenntnisse über ihre potentiellen Wähler liefern.
2. Methodik
Clusteranalyse
Clusteranalyse, auch als Clustering bezeichnet, ist eine unüberwachte Methode des maschinellen Lernens (englisch: unsupervised learning), bei der ähnliche Objekte (Datenpunkte) in Gruppen unterteilt werden. Die Objekte werden in der Regel durch eine Menge von Attributen repräsentiert, in dieser Analyse durch die Anzahl der Stimmen für die Parteien in Berliner Wahllokalen. Die Gruppen werden als Cluster bezeichnet.
Die Clusteranalyse verwendet mathematische Algorithmen, um die Gruppen ähnlicher Objekte, basierend auf den kleinsten Abweichungen zwischen den Objekten innerhalb jeder Gruppe zu ermitteln. Man möchte also eine große Datenmenge (z.B. 1779 Wahllokale in Berlin) durch eine kleinere (möglichst eine kleine Anzahl von Cluster = große Cluster für spezifische Maßnahmen, die sich lohnen würden) ersetzen, die leichter zu interpretieren und zu handhaben ist, ohne dabei Informationen über die Daten zu verlieren. Es wird also versucht, aus dem vorhandenen Datensatz eine Struktur und Bedeutung zu erstellen. Die Charakterisierung der Gruppen ist vorab nicht bekannt und keine im Voraus bekannte Zielwerte gegeben sin - deswegen wird Clustering als unüberwacht bezeichnet. Die Kennzeichnung entsteht im Laufe des Analyse, im Gegensatz zur Klassifikation, bei der vorab Gruppen-Bezeichnungen definiert werden.
Ein zentraler und zugleich schwieriger Teil der Clusteranalyse ist die Bestimmung einer optimalen Anzahl der Cluster. Die Ermittlung der Clusterzahl spielt eine wesentliche Rolle und bedingt die Qualität der Analyse. In dem Analyseverfahren stehen zwar zahlreiche mathematisch begründete Entscheidungskriterien, jedoch oft ergeben die verschiedenen Lösungen unterschiedliche Werte. Für die Auswahl der Clusterzahl wird daher eine Reihe von Methoden herangezogen. Die Deutlichkeit der Ergebnisse sowie das am häufigsten auftretende Ergebnis werden in Betracht gezogen.
Datensatz
Diese Clusternalyse berüht auf Zweitstimmen der Bundestagswahl 2017 im Bundesland Berlin, auf der Ebene der Wahllokale. Das Berliner Wahlgebiet ist in 12 Bezirke, 1.779 Urnenwahlbezirke und 718 Briefwahlbezirke eingeteilt. In jedem Urnenwahlbezirk gibt es ein Wahllokal mit einem Wahlvorstand (Wahlgebietseinteilung, berlin.de). Ein Wahllokal entspricht dem polingarea_number in der Datei und wird als eine 5-stellige Zahl, mit einem Zusatz “W” (Wahllokal, pollingarea_type=‘regular’) an der dritten Stelle angegeben. Die zwei ersten Ziffern bezeichnen die Bezirksnummer der Stadt Berlin, die drei letzten Ziffer den Urnenwahlbezirk. Die Numerierung der Briefwahlgebiete (pollingarea_type=‘postal’) unterliegt anderer Notation und wird an dieser Stelle nicht näher angegenagen.
Einblick in die ersten Spalten der Tabelle verwendet in der Clusteranalyse. Die Zahlen repräsentieren Anzahl der Zweitstimmen in Wahllokalen
| Bezirk | Wahllokal | AfD | CDU | FDP | GRÜNE | LINKE | SPD | Sonstige |
|---|---|---|---|---|---|---|---|---|
| Mitte | 01W101 | 50 | 179 | 99 | 137 | 146 | 117 | 34 |
| Mitte | 01W102 | 49 | 149 | 96 | 119 | 76 | 89 | 32 |
| Mitte | 01W103 | 42 | 169 | 127 | 140 | 149 | 110 | 45 |
| Mitte | 01W104 | 38 | 135 | 80 | 137 | 99 | 94 | 29 |
| Mitte | 01W105 | 36 | 94 | 56 | 105 | 128 | 75 | 23 |
| Mitte | 01W106 | 54 | 141 | 109 | 146 | 93 | 101 | 26 |
| Mitte | 01W107 | 41 | 121 | 73 | 128 | 123 | 95 | 28 |
3. Anzahl der charakteristischen Wählergruppen bzw. der Clusterzahl
Aus einer Reihe existierender Lösungsansätze zur Feststellunge der Clusteranzal werden hier vier Algorithmen verwendet, wobei der letzte, Nbclust Algorithmus beinhaltet 26 verschiedene Methoden. Am häufigsten verwendete Methoden sind:
- Ellenbogen-Kriterium
- Silhouetten-Koeffizient
- Lückenstatistik (Gap Statistic Method)
- NbClust() Algorithmus
Zusammen geben sie eine robuste Entscheidungsgrundlage. Die theoretischen Grundlagen der Bestimmung der Clusterzahl werden in zahlreichen Beiträgen präsentiert u.a. bei Wikipedia, oder DataNovia (engl.).
Ellbogen-Kriterium
Die wahrscheinlich bekannteste Methode ist die Ellbogenmethode, bei der die Gesamtsumme der quadrierten Abweichungen der Datenpunkte von den Cluster-Zentroide (engl. within-cluster sum of square, wss), für eine Anzahl von Clustern berechnet und grafisch dargestellt wird. Es soll die Anzahl der Cluster ausgewählt werden, die das Hinzufügen eines weiteren Clusters die wss nicht wesentlich verbessert. In der Kurve zeigt sich das als Änderung der Neigung von steil nach flach (“Ellbogen”). Die Position der Biegung im Diagramm wird als Ellbogen-Kriterium bezeichnet und steht als Indikator der optimalen Clusterzahl.
Die wss-Werte werden für jede Clusterzahl von 1 bis 10 aus k-Means-Algorithmus mit der baseR Funktion kmeans() und fviz_nbclust() aus dem factoextra package in R berechnet. Die Position des Ellbogens, damit auch die Clusterzahl, wird in der Kurve durch die vertikale Linie angezeigt.
Das Ellbogen-Diagramm zeigt die optimale Clusterzahl von 4.
Silhouetten-Koeffizient
Eine weitere Visualisierung, mit deren Hilfe die optimale Anzahl von Clustern ermittelt werden kann, wird als Silhouette-Methode bezeichnet. Die Silhouette ergibt die Qualität der Clusters, indem ein Koeffizient zwischen -1 und 1 bestimmt wird.Er zeigt wie gut jede Beobachtung (hier ein Wahlloklal) in seinem Cluster liegt. Die Methode der durchschnittlichen Silhouette berechnet die durchschnittliche Silhouette der Beobachtungen für verschiedene Werte der Clusterzahl. Ein hoher durchschnittlicher Silhouette-Koeffizient weist auf eine gute Clusterbildung hin. Die optimale Anzahl von Clustern ist diejenige, die die durchschnittliche Silhouette über einen Bereich möglicher Clusterzahlen maximiert.
Die Werte der Silhouetten-Koeffizienten für jede Clusterzahl von 1 bis 10 werden mit der Funktion fviz_nbclust() aus dem factoextra package and pam() aus dem cluster package in R berechnet. Der maximale Wert entsteht bei der Clusterzahl 4.
Das Silhouette-Koeffizient zeigt ebenfalls die optimale Clusterzahl von 4.
Die Silhouetten unseres Datensatzes für die Clusterzahl 4 zeigt der sog. Silhouettenplot. Für alle Beobachtungen (in unserem Fall für alle Wahllokale) die zu einem Cluster gehören, werden die Silhouette-Koeffizienten auf der senkrechten Achse angegeben und innerhalb jedes Clusters nach der Größe der koeffizienten geordnet. Der durchnittliche Silhouetten-Koeffizient aller Cluster wird mit der waagerechten roten linie markiert.
Optimale Clusterzahl aus der Silhouette Methode mit eclust() aus factoextra package
Lückenanalyse (Gap Statistic)
Die Lückenstatistik (engl. gap statistic) von Tibshirani et al. (2001) vergleicht die Summe der durchschnittlichen Streuung (engl. within intra-cluster variation) innerhalb des Clusters für eine zunehmende Anzahl von Clustern zu einer Referenzverteilung ohne offensichtlichen Clusterbildung. Der Wert der die Lückenstatistik maximiert, stellt die optimale Clusterzahl dar. Der maximale Wert ergibt die größte Lückenstatistik und bedeutet, die Clusterstruktur unterscheidet sich am weitesten von der zufälligen, gleichmässigen Referenzverteilung. Die Werte der Lückenstatistik und die optimale Anzahl der Cluster werden mit der clusGap()Funktion aus dem cluster package ermittelt. Diese Methode schlägt für unseren Datesatz nur 1 Cluster vor. Damit gibt die Methode keinen Hinweis darauf, ob der Datensatz überhaupt in Cluster unterteilt werden soll.
Optimale Clusterzahl aus der Lückenanalyse aus cluster package
NbClust()
Die vierte Alternative ist die NbClust() Funktion aus dem NbClust package in R. Die Funktion von umfasst 26 Methoden zur Bestimmung der optimalen Clusterzahl und schlägt eine Lösung vor, die am häufigsten auftitt. Die Details können in Charrad et al. (2014) nachgelesen werden.
Zwei von den 26 Methoden, der Hubert-Index und der D-Index, sind rein grafische Methoden (siehe Diagramme unten). Die optimale Anzahl von Clustern befindet sich in einem „Ellbogenpunkt“, nach dem der entsprechende statistische Wert in der zweiten Differenz stark abnimmt. Beide Methoden zeigen ein Ellbogen für unseren Datensatz bei Clusterzahl 4.
Optimale Clusterzahl aus Hubert-Index und der D-Index Methoden
Die Ergebnisse der 26 Methoden aus NbClust() Funktion werden hier in einem Balkendiagramm präsentiert. Am häufigsten auftretende Wert deutet 4 als die optimale Clusterzahl.
Die Häufigkeit der verschiedenen Clusterzahlen aus NbClust package
Die Hopkins-Statistik
Die meisten Methoden zur Feststellung der Anzahl von Cluster zeigen vier Cluster als eine optimale Lösung für unseren Datensatz. Dennoch das Ergebnis der Lückenstatistik “entdekt” keine Cluster und deutet auf einen uniformen Datensatz. Um die Eignung des Datessatzes für Clusterin zu testen, führen wir einen diagnostischen Test zu Beurteilung der Clustertendenz useres Datensatzes, mit sog. Hopkins-Statistik (Lawson & Jurs, 1990) durch. Diese Methode bestimmt die Wahrscheinlichkeit, dass ein Datensatz durch eine gleichmäßige Datenverteilung generiert wird. Mit anderen Worten, sie testet die räumliche Zufälligkeit der Daten. Wir verwenden get_clust_tendency() Funktion aus dem factoextra package. Ein Wert für Hopkins-Statistik von mehr als 0.5 zeigt eine Clusterbildungstendenz bei einem Konfidenzniveau von 90% an Kassambara 2017, p.97. Das Ergebnis der Hopkins-Statistik für unseren Datensatz beträgt 0.83. Es ist ersichtlich, dass der Datensatz stark clusterfähig ist, da der Wert weit von dem Schwellenwert liegt. Auf die Visualisierung wird hiere verzichtet.
Zusammenfassend:
- Unser Datensatz zeigt deutlich eine Tendenz zur Bildung der Cluster;
- Die meisten Methoden zeigen die optimale Anzal der Cluster bei 4;
- Mit der Festlegung der Clusterzahl von 4 wird anschließend die Clusterzentrenanalyse durchgeführt.
4. Charakterisierung der Wählergruppen (Cluster) mit k-Means Algoritmus
Wahlergebnise in den Clustern im Vergleich zu Berlin und Pankow
Der K-Means-Clustering (MacQueen, 1967) (engl. mean = Mittelwert) ist einer der am häufigsten verwendeten unüberwachten Algorithmen für maschinelles Lernen zum Partitionieren eines Datensatzes in k Gruppen (bzw. k Clustern), wobei k die Anzahl der vom Analysten vorgegebenen Cluster darstellt. Es klassifiziert Objekte in mehrere Cluster, sodass Objekte innerhalb desselben Clusters so ähnlich wie möglich sind (hohe Ähnlichkeit innerhalb der Gruppe), während Objekte aus verschiedenen Clustern so unterschiedlich wie möglich sind. Beim k-Mittelwert-Clustering wird jeder Cluster durch sein Zentroid (oder Schwerpunkt, engl. centroid) dargestellt, das dem Mittelwert der dem Cluster zugewiesenen Punkte entspricht.
Die Schwerpunkte der Cluster werden durch die gleichen Attribute wie der gesamte Datensatz repräsentiert, in unserer Analyse ist das die Mittlere Anzahl der Zweitstimmen und das sind quasi die Wahlergebnisse der Zweitstimmen in den Clustern. Das Balkendiagramm zeigt, wie stark die Unterschiede zwischen den vier Clustern sind und wie sie im Vergleich mit den Wahlergebnissen in Bezirk Pankow und Land Berlin stehen.
Vergleich der Wahlergebnisse zwischen den Clustern, Bezirk Pankow und Stadt Berlin
Anzahl der Wahllokale in den präsentierten Wahlregionen und den mit k-Means Algorithmus bestimmten Clustern gestaltet sich wie folgt:
| Wahlregion | Anzahl_der_Wahllokale | Cluster_1 | Cluster_2 | Cluster_3 | Cluster_4 |
|---|---|---|---|---|---|
| Berlin | 1779 | 414 | 676 | 341 | 348 |
| Anteil in % | 100% | 24% | 38% | 20% | 20% |
| Pankow | 154 | 5 | 15 | 65 | 69 |
| Anteil in % | 100% | 4% | 10% | 42% | 44% |
Verteilung der Cluster
Korelationen
Räumliche Anordung der Cluster in Berlin und Pankow
Karte
## OGR data source with driver: ESRI Shapefile
## Source: "/Users/magdalenablum-oeste/Documents/FDP/BezirkStatistik/Bezirke__Berlin/Bezirke__Berlin.shp", layer: "Bezirke__Berlin"
## with 12 features
## It has 9 fields
## OGR data source with driver: ESRI Shapefile
## Source: "/Users/magdalenablum-oeste/Desktop/Wahlbezirke_-_Berlin-shp/Wahlbezirke.shp", layer: "Wahlbezirke"
## with 1779 features
## It has 7 fields
–>
–>
–> –> –> –> –>
–>